Calculations for Raw Counter Data

This section lists the types of performance counters and the calculations that the Performance Monitor uses to convert the raw data to the information you would expect from the counter name. The counter types and calculations are defined in WINPERF.H. For the calculations, the following key applies:

Symbol

Definition

N

Numerator

D

Denominator

TB

Time base (indicates the units of raw data if not used in calculation)

B

Base count (number of entries)

N0

Oldest or first sample taken (of the numerator in this case; D0 would be of the denominator)

N1

More recent sample

Nx

Most recent sample in calculation array (for average calculation)

 

PERF_100NSEC_MULTI_TIMER  Timer for when multiple instances are in use, so the result can exceed 100%. The number of instances is in the next counter.

Element

Value

Numerator

CounterData

Denominator

100NsTime

Time base

100Ns

Calculation

(N1-N0)/(D1-D0)

Average function

(Nx-N0)/(Dx-D0)

 

PERF_100NSEC_MULTI_TIMER_INV  The inverse of the timer for multiple instances (when the object is not in use).

Element

Value

Numerator

CounterData

Denominator

100NsTime

Time base

100Ns

Calculation

(B-((N1-N0)/(D1-D0)))

Average function

(B-((Nx-N0)/(Dx-D0)))

 

PERF_100NSEC_TIMER  Timer for when the object is in use.

Element

Value

Numerator

CounterData

Denominator

100NsTime

Time base

100Ns

Calculation

(N1-N0)/(D1-D0)

Average function

(Nx-N0)/(Dx-D0)

 

PERF_100NSEC_TIMER_INV  The inverse of the timer (when the object is not in use).

Element

Value

Numerator

CounterData

Denominator

100NsTime

Time base

100Ns

Calculation

(1-((N1-N0)/(D1-D0)))

Average function

(1-((Nx-N0)/(Dx-D0)))

 

PERF_AVERAGE_BASE  Used as the denominator in the computation of time or count averages.

Element

Value

Numerator

N/A

Denominator

N/A

Time base

N/A

Calculation

N/A

Average function

N/A

 

PERF_AVERAGE_BULK  A count which usually gives the bytes per operation when divided by the number of operations.

Element

Value

Numerator

CounterData

Denominator

BaseData

Time base

N/A

Calculation

(N1-N0)/(D1-D0)

Average function

(Nx-N0)/(Dx-D0)

 

PERF_AVERAGE_TIMER  A timer which usually gives time per operation when divided by the number of operations.

Element

Value

Numerator

CounterData

Denominator

BaseData

Time base

PerfFreq

Calculation

((N1-N0)/TB)/(D1-D0)

Average function

((Nx-N0)/TB)/(Dx-D0)

 

PERF_COUNTER_BULK_COUNT  Used to count byte transmission rates.

Element

Value

Numerator

CounterData

Denominator

PerfTime

Time base

PerfFreq

Calculation

(N1-N0)/((D1-D0)/TB)

Average function

(Nx-N0)/((Dx-D0)/TB)

 

PERF_COUNTER_COUNTER  Rate of counts. The most common counter.

Element

Value

Numerator

CounterData

Denominator

PerfTime

Time base

PerfFreq

Calculation

(N1-N0)/((D1-D0)/TB)

Average function

(Nx-N0)/((Dx-D0)/TB)

 

PERF_COUNTER_DELTA  Difference between two counters.

Element

Value

Numerator

CounterData

Denominator

N/A

Time base

N/A

Calculation

(N1-N0)

Average function

(Nx-N0)/x

 

PERF_COUNTER_LARGE_DELTA  Difference between two counters.

Element

Value

Numerator

CounterData

Denominator

N/A

Time base

N/A

Calculation

(N1-N0)

Average function

(Nx-N0)/x

 

PERF_COUNTER_LARGE_QUEUELEN_TYPE  Average count per time interval.

Element

Value

Numerator

CounterData

Denominator

PerfTime

Time base

PerfFreq

Calculation

(N1-N0)/(D1-D0)

Average function

(Nx-N0)/(Dx-D0)

 

PERF_COUNTER_LARGE_RAWCOUNT  Instantaneous counter value.

Element

Value

Numerator

CounterData

Denominator

N/A

Time base

N/A

Calculation

(N0)

Average function

SUM(N)/x

 

PERF_COUNTER_LARGE_RAWCOUNT_HEX  Instantaneous counter value, as a hexadecimal number.

Element

Value

Numerator

CounterData

Denominator

N/A

Time base

N/A

Calculation

(N0)

Average function

SUM(N)/x

 

PERF_COUNTER_MULTI_BASE  Base for MULTI counters.

Element

Value

Numerator

N/A

Denominator

N/A

Time base

N/A

Calculation

N/A

Average function

N/A

 

PERF_COUNTER_MULTI_TIMER  Timer for when multiple instances are in use, so the result can exceed 100%. The number of instances is in the next counter.

Element

Value

Numerator

CounterData

Denominator

PerfTime

Time base

PerfFreq

Calculation

(N1-N0)/(D1-D0)

Average function

(Nx-N0)/(Dx-D0)

 

PERF_COUNTER_MULTI_TIMER_INV  The inverse of the timer for multiple instances (when the object is not in use).

Element

Value

Numerator

CounterData

Denominator

PerfTime

Time base

PerfFreq

Calculation

(B-((N1-N0)/(D1-D0)))

Average function

(B-((Nx-N0)/(Dx-D0)))

 

PERF_COUNTER_NODATA  There is no data for this counter.

Element

Value

Numerator

0

Denominator

N/A

Time base

N/A

Calculation

0

Average function

0

 

PERF_COUNTER_QUEUELEN_TYPE  Average count per time interval.

Element

Value

Numerator

CounterData

Denominator

PerfTime

Time base

PerfFreq

Calculation

(N1-N0)/(D1-D0)

Average function

(Nx-N0)/(Dx-D0)

 

PERF_COUNTER_RAWCOUNT  Instantaneous counter value.

Element

Value

Numerator

CounterData

Denominator

N/A

Time base

N/A

Calculation

(N0)

Average function

SUM(N)/x

 

PERF_COUNTER_RAWCOUNT_HEX  Instantaneous counter value, as a hexadecimal number.

Element

Value

Numerator

CounterData

Denominator

N/A

Time base

N/A

Calculation

(N0)

Average function

SUM(N)/x

 

PERF_COUNTER_TEXT  Indicates the data is not a counter, but is Unicode text.

Element

Value

Numerator

N/A

Denominator

N/A

Time base

N/A

Calculation

N/A

Average function

N/A

 

PERF_COUNTER_TIMER  The most common timer.

Element

Value

Numerator

CounterData

Denominator

PerfTime

Time base

PerfFreq

Calculation

(N1-N0)/(D1-D0)

Average function

(Nx-N0)/(Dx-D0)

 

PERF_COUNTER_TIMER_INV  The inverse of the timer (when the object is not in use).

Element

Value

Numerator

CounterData

Denominator

PerfTime

Time base

PerfFreq

Calculation

(1-((N1-N0)/(D1-D0)))

Average function

(1-((Nx-N0)/(Dx-D0)))

 

PERF_ELAPSED_TIME  The data is the start time of the item being measured. For display, subtract the start time from the snapshot time to yield the elapsed time. The PerfTime member of the PERF_OBJECT_TYPE262F_HJ structure contains the sample time. Use the PerfFreq member of the PERF_OBJECT_TYPE structure to convert the time into seconds.

Element

Value

Numerator

CounterData

Denominator

ObjectTime

Time base

ObjectFreq

Calculation

(D0-N0)/TB

Average function

(Dx-N0)/TB

 

PERF_RAW_BASE  Used as a base. Check that this value is greater than zero before dividing.

Element

Value

Numerator

N/A

Denominator

N/A

Time base

N/A

Calculation

N/A

Average function

N/A

 

PERF_RAW_FRACTION  Instantaneous value, to be divided by the base.

Element

Value

Numerator

CounterData

Denominator

BaseData

Time base

N/A

Calculation

(N0/D0)

Average function

SUM(N/D)/x

 

PERF_SAMPLE_BASE  Used as a base. Check that this value is greater than zero before dividing.

Element

Value

Numerator

N/A

Denominator

N/A

Time base

N/A

Calculation

N/A

Average function

N/A

 

PERF_SAMPLE_COUNTER  A count that is sampled on each sampling interrupt. Must be divided by the base.

Element

Value

Numerator

CounterData

Denominator

PerfTime

Time base

PerfFreq

Calculation

(N1-N0)/((D1-D0)/TB)

Average function

(Nx-N0)/((Dx-D0)/TB)

 

PERF_SAMPLE_FRACTION  A count that is either 1 or 0 on each sampling interrupt.

Element

Value

Numerator

CounterData

Denominator

BaseData

Time base

N/A

Calculation

(N1-N0)/(D1-D0)

Average function

(Nx-N0)/(Dx-D0)